/**
 * @ClassName RemoveAllKey
 * @Description TODO 移除所有数值为key的元素
 * @Author 李明忠
 * @Date 2025/7/22 10:50
 * @Version 1.0
 */
public class RemoveAllKey {
    public static int removeElement(int[] nums, int val) {
        //遍历一次：都是双指针法:
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int slow = 0; // 慢指针：记录非目标元素的位置
        for (int fast = 0; fast < nums.length; fast++) {
            if (nums[fast] != val) {
                nums[slow] = nums[fast]; // 保留非目标元素
                slow++;
            }
        }
        return slow; // 返回新数组长度
    }

    public static void main(String[] args) {
        int[] nums = {1};
        int key = removeElement(nums, 1);
        for (int i = 0; i < key; i++) {
            System.out.print(nums[i] + " ");
        }
    }
}
